/*
 * @Author: hongbin
 * @Date: 2022-11-24 23:02:29
 * @LastEditors: hongbin
 * @LastEditTime: 2022-11-25 18:29:05
 * @Description:
 */

export interface IPart {
    animations: THREE.AnimationClip[];
    scene: THREE.Group;
    name: string;
    type: string;
}

export interface IPartConfig {
    color: string;
}

export interface IParts {
    [key: string]: IPart[];
}
export interface IWearParts {
    [key: string]: IPart;
}

export interface IPartConfig {
    color: string;
    opacity: number;
    metalness: number;
}

export type IPartsConfig = Record<string, IPartConfig>;

/**
 * 后端返回的用户配件样式配置集合
 */
export interface IUserPartsConfig {
    current: "config1" | "config2" | "config3";
    userId: string;
    config1: IPartsConfig & { wearParts: string[] };
    config2: IPartsConfig & { wearParts: string[] };
    config3: IPartsConfig & { wearParts: string[] };
}
